package com.slipper.system.bpmn.bo;

import java.util.List;

import com.slipper.system.flow.bo.*;

public class BpmnBO {
    private String flowId;
    private String nodeId;
    private FlowBO flow; // 当前流程信息
    private FlowNodeBO flowNode; // 当前流程节点信息
    private String instNodeId; // 当前流程实例节点ID
    private String pendingInstNodeId; // 待办的流程实例节点ID
    private String instId; // 当前流程实例ID
    private FlowInstBO flowInst; // 当前流程实例
    private FlowInstNodeBO flowInstNode; // 当前流程节点实例
    private List<FlowNodeBO> flowNodeList; // 所有的节点
    private List<FlowLineBO> flowLineList; // 所有的线路
    private List<FlowNodeBO> returnNodeList; // 所有的节点
    private List<FlowInstNodeBO> flowInstNodeList; // 所有流程实例的节点信息

    private String currEmpId;
    private String currEmpName;
    private String currEmpPhone;
    private String currEmpPosition;
    private String currEmpDuty;
    private String currEmpWorkDate;
    private String currEmpSex;
    private String currOrgId;
    private String currOrgName;
    private Boolean startFlow;
    private Boolean instFlow;

    private Boolean canCompleted = false;
    private Boolean canRetrieve = false;

    private String relationId; // 关联实例ID
    private String receiveManId; // 转单时接单人员工ID

    public String getFlowId() {
        return flowId;
    }

    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }

    public String getNodeId() {
        return nodeId;
    }

    public void setNodeId(String nodeId) {
        this.nodeId = nodeId;
    }

    public FlowBO getFlow() {
        return flow;
    }

    public void setFlow(FlowBO flow) {
        this.flow = flow;
    }

    public FlowNodeBO getFlowNode() {
        return flowNode;
    }

    public void setFlowNode(FlowNodeBO flowNode) {
        this.flowNode = flowNode;
    }

    public String getInstId() {
        return instId;
    }

    public void setInstId(String instId) {
        this.instId = instId;
    }

    public String getInstNodeId() {
        return instNodeId;
    }

    public void setInstNodeId(String instNodeId) {
        this.instNodeId = instNodeId;
    }

    public String getPendingInstNodeId() {
        return pendingInstNodeId;
    }

    public void setPendingInstNodeId(String pendingInstNodeId) {
        this.pendingInstNodeId = pendingInstNodeId;
    }

    public FlowInstBO getFlowInst() {
        return flowInst;
    }

    public void setFlowInst(FlowInstBO flowInst) {
        this.flowInst = flowInst;
    }

    public FlowInstNodeBO getFlowInstNode() {
        return flowInstNode;
    }

    public void setFlowInstNode(FlowInstNodeBO flowInstNode) {
        this.flowInstNode = flowInstNode;
    }

    public List<FlowInstNodeBO> getFlowInstNodeList() {
        return flowInstNodeList;
    }

    public void setFlowInstNodeList(List<FlowInstNodeBO> flowInstNodeList) {
        this.flowInstNodeList = flowInstNodeList;
    }

    public List<FlowNodeBO> getFlowNodeList() {
        return flowNodeList;
    }

    public void setFlowNodeList(List<FlowNodeBO> flowNodeList) {
        this.flowNodeList = flowNodeList;
    }

    public String getCurrEmpId() {
        return currEmpId;
    }

    public void setCurrEmpId(String currEmpId) {
        this.currEmpId = currEmpId;
    }

    public String getCurrEmpName() {
        return currEmpName;
    }

    public void setCurrEmpName(String currEmpName) {
        this.currEmpName = currEmpName;
    }

    public String getCurrEmpPhone() {
        return currEmpPhone;
    }

    public void setCurrEmpPhone(String currEmpPhone) {
        this.currEmpPhone = currEmpPhone;
    }

    public String getCurrEmpPosition() {
        return currEmpPosition;
    }

    public void setCurrEmpPosition(String currEmpPosition) {
        this.currEmpPosition = currEmpPosition;
    }

    public String getCurrEmpDuty() {
        return currEmpDuty;
    }

    public void setCurrEmpDuty(String currEmpDuty) {
        this.currEmpDuty = currEmpDuty;
    }

    public String getCurrEmpWorkDate() {
        return currEmpWorkDate;
    }

    public void setCurrEmpWorkDate(String currEmpWorkDate) {
        this.currEmpWorkDate = currEmpWorkDate;
    }

    public String getCurrEmpSex() {
        return currEmpSex;
    }

    public void setCurrEmpSex(String currEmpSex) {
        this.currEmpSex = currEmpSex;
    }

    public String getCurrOrgId() {
        return currOrgId;
    }

    public void setCurrOrgId(String currOrgId) {
        this.currOrgId = currOrgId;
    }

    public String getCurrOrgName() {
        return currOrgName;
    }

    public void setCurrOrgName(String currOrgName) {
        this.currOrgName = currOrgName;
    }

    public boolean isStartFlow() {
        return this.startFlow != null && this.startFlow;
    }
    
    public Boolean getStartFlow() {
        return startFlow;
    }

    public void setStartFlow(Boolean startFlow) {
        this.startFlow = startFlow;
    }

    public String getReceiveManId() {
        return receiveManId;
    }

    public void setReceiveManId(String receiveManId) {
        this.receiveManId = receiveManId;
    }

    public Boolean getCanCompleted() {
        return canCompleted;
    }

    public void setCanCompleted(Boolean canCompleted) {
        this.canCompleted = canCompleted;
    }

    public Boolean getCanRetrieve() {
        return canRetrieve;
    }

    public void setCanRetrieve(Boolean canRetrieve) {
        this.canRetrieve = canRetrieve;
    }

    public List<FlowLineBO> getFlowLineList() {
        return flowLineList;
    }

    public void setFlowLineList(List<FlowLineBO> flowLineList) {
        this.flowLineList = flowLineList;
    }

    public String getRelationId() {
        return relationId;
    }

    public void setRelationId(String relationId) {
        this.relationId = relationId;
    }

    public Boolean getInstFlow() {
        return instFlow;
    }

    public void setInstFlow(Boolean instFlow) {
        this.instFlow = instFlow;
    }

    public boolean isInstFlow() {
        return this.instFlow != null && this.instFlow;
    }

    public List<FlowNodeBO> getReturnNodeList() {
        return returnNodeList;
    }

    public void setReturnNodeList(List<FlowNodeBO> returnNodeList) {
        this.returnNodeList = returnNodeList;
    }
}
